- make check
- make data && diff data/utf8proc_data.c.new utf8proc_data.c
- make clean && git status --ignored --porcelain && test -z "$(git status --ignored --porcelain)"
- - (mkdir build_static && cd build_static && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON && make)
- - (mkdir build_shared && cd build_shared && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON && make)
+ - (mkdir build_static && cd build_static && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DUTF8PROC_ENABLE_TESTING=On && make && ctest)
+ - (mkdir build_shared && cd build_shared && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON -DUTF8PROC_ENABLE_TESTING=On && make && ctest)
set(SO_PATCH 1)
option(UTF8PROC_INSTALL "Enable installation of utf8proc" On)
+option(UTF8PROC_ENABLE_TESTING "Enable testing of utf8proc" Off)
add_library (utf8proc
utf8proc.c
"${PROJECT_SOURCE_DIR}/utf8proc.h"
DESTINATION include)
endif()
+
+if(UTF8PROC_ENABLE_TESTING)
+ enable_testing()
+ add_executable(case test/tests.h test/tests.c utf8proc.h test/case.c)
+ target_link_libraries(case utf8proc)
+ add_executable(custom test/tests.h test/tests.c utf8proc.h test/custom.c)
+ target_link_libraries(custom utf8proc)
+ add_executable(iterate test/tests.h test/tests.c utf8proc.h test/iterate.c)
+ target_link_libraries(iterate utf8proc)
+ add_executable(misc test/tests.h test/tests.c utf8proc.h test/misc.c)
+ target_link_libraries(misc utf8proc)
+ add_executable(printproperty test/tests.h test/tests.c utf8proc.h test/printproperty.c)
+ target_link_libraries(printproperty utf8proc)
+ add_executable(valid test/tests.h test/tests.c utf8proc.h test/valid.c)
+ target_link_libraries(valid utf8proc)
+ add_test(testcase case)
+ add_test(testcustom custom)
+ add_test(testiterate iterate)
+ add_test(testmisc misc)
+ add_test(testprintproperty printproperty)
+ add_test(testvalid valid)
+ if (NOT WIN32)
+ # Some test disabled, because they don't compile on Windows, missing getline, ...
+ add_executable(charwidth test/tests.h test/tests.c utf8proc.h test/charwidth.c)
+ target_link_libraries(charwidth utf8proc)
+ add_executable(graphemetest test/tests.h test/tests.c utf8proc.h test/graphemetest.c)
+ target_link_libraries(graphemetest utf8proc)
+ add_executable(normtest test/tests.h test/tests.c utf8proc.h test/normtest.c)
+ target_link_libraries(normtest utf8proc)
+ add_test(testcharwidth charwidth)
+ #add_test(testgraphemetest graphemetest data/GraphemeBreakTest.txt)
+ #add_test(testnormtest normtest data/NormalizationTest.txt)
+ endif()
+endif()
throw "There are newer queued builds for this pull request, failing early." }
- mkdir msvc_static
- cd msvc_static
- - cmake ..
+ - cmake .. -DUTF8PROC_ENABLE_TESTING=On
- cmake --build .
+ - ctest
- mkdir ..\msvc_shared
- cd ..\msvc_shared
- - cmake .. -DBUILD_SHARED_LIBS=ON
+ - cmake .. -DBUILD_SHARED_LIBS=ON -DUTF8PROC_ENABLE_TESTING=On
- cmake --build .
+ - ctest
- set PATH=C:\MinGW\bin;%PATH%
- C:\MinGW\msys\1.0\bin\sh --login -c "
cd /c/projects/utf8proc &&
mkdir mingw_static &&
cd mingw_static &&
- cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -G'MSYS Makefiles' &&
+ cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DUTF8PROC_ENABLE_TESTING=On -G'MSYS Makefiles' &&
make &&
+ ctest &&
mkdir ../mingw_shared &&
cd ../mingw_shared &&
- cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON -G'MSYS Makefiles' &&
- make
+ cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON -DUTF8PROC_ENABLE_TESTING=On -G'MSYS Makefiles' &&
+ make &&
+ ctest
"
on_finish: